home *** CD-ROM | disk | FTP | other *** search
/ Eagles Nest BBS 8 / Eagles_Nest_Mac_Collection_Disc_8.TOAST / Developer Environments / AppMkr151#2 / Libraries / MPW / MacApp 2.0 / UAMLibraryM.p < prev   
Encoding:
Text File  |  1992-03-17  |  8.6 KB  |  287 lines  |  [TEXT/MPS ]

  1. { © 1991, Bowers Development Corp. }
  2. { UAMLibraryM.p }
  3.  
  4. {===========================================================}
  5. { Classes to support AppMaker user interface items:         }
  6. {                                                            }
  7. { Class            (Subclass)        Description                    }
  8. {-----------------------------------------------------------}
  9. { TGrayLine        (TView)            Gray line                    }
  10. { TPalette        (TCtlMgr)        Palette                        }
  11. { TPictButton    (TCtlMgr)        Picture button                }
  12. { TPictCheckBox (TCtlMgr)        Picture check box            }
  13. { TPictRadio     (TCtlMgr)        Picture radio button        }
  14. { TMultiPict     (TCtlMgr)        Multi-picture control        }
  15. { TSlider         (TCtlMgr)        Custom slider                }
  16. { TCustomCntl     (TCtlMgr)        Other custom control        }
  17. {===========================================================}
  18.  
  19. Unit UAMLibraryM;
  20. Interface
  21.  
  22. Uses
  23.     UMacApp,
  24.     Types,
  25.     QuickDraw,
  26.     Files,
  27.     Resources;    
  28.  
  29. Const
  30.     kPaletteProcID        =          (200 * 16);            { 3200 }
  31.  
  32.     kPictButtonProcID    =        (201 * 16);            { 3216 }
  33.     kPictCheckProcID    =        (201 * 16) + 1;        { 3217 }    
  34.     kPictRadioProcID    =        (201 * 16) + 2;        { 3218 }    
  35.     kMultiPictProcID    =        (201 * 16) + 3;        { 3219 }    
  36.  
  37.     kSliderProcID            =   (202 * 16);
  38.     kSliderGrayContinuousID    =    (202 * 16);            { 3232 }
  39.     kSliderIndContinuousID    =    (202 * 16) + 1;        { 3233 }
  40.     kSliderGrayDiscreteID    =    (202 * 16) + 2;        { 3234 }
  41.     kSliderIndDiscreteID     =    (202 * 16) + 3;        { 3235 }
  42.  
  43.     mMultiPictHit        = 101;
  44.     mPaletteHit            = 102;
  45.     mCustomHit            = 103;
  46.     mSliderHit            = 104;
  47.  
  48. {----------}
  49. Procedure ActionProcForTSlider    (aCMgrControl:    ControlHandle;
  50.                                  partCode:        integer);
  51.  
  52. {----------}
  53. Type
  54.     TGrayLine             = Object (TView)
  55.         Procedure Draw        (area:        Rect); Override;
  56.     End; {TGrayLine}
  57.  
  58. Type
  59.     PaletteTemplate        = Record
  60.         itsPictureID:        integer;
  61.         itsNumberAcross:    integer;
  62.         itsNumberDown:        integer;
  63.         itsFrameSize:        integer;
  64.     End;
  65.     PaletteTPtr            = ^PaletteTemplate;
  66.     
  67. Type
  68.     TPalette            = Object (TCtlMgr)
  69.         Procedure IPalette        (itsSuperView:         TView;
  70.                                  itsLocation:         VPoint; 
  71.                                  itsSize:             VPoint;
  72.                                  itsHSizeDet:         SizeDeterminer; 
  73.                                  itsVSizeDet:         SizeDeterminer;
  74.                                  itsPictureID:        integer;
  75.                                  itsNumberAcross:    integer;
  76.                                  itsNumberDown:        integer;
  77.                                  itsFrameSize:        integer);    
  78.         Procedure IRes             (itsDocument:        TDocument;
  79.                                  itsSuperView:         TView;
  80.                              var itsParams:         Ptr);             Override;
  81.         Procedure WRes            (theResource:        ViewRsrcHndl;
  82.                              var itsParams:            Ptr);             Override;
  83.         Procedure WriteRes        (theResource:        ViewRsrcHndl;
  84.                              var itsParams:            Ptr);             Override;
  85.         Procedure Fields        (
  86.                     Procedure DoToField    (fieldName:        Str255;
  87.                                          fieldAddr:        Ptr;
  88.                                          fieldType:        integer)
  89.                                 );     Override;
  90.     End; {TPalette}
  91.  
  92. Type
  93.     PictControlTemplate        = Record
  94.         itsPictureIDs:            Str255;
  95.     End;
  96.     PictControlTPtr            = ^PictControlTemplate;
  97.  
  98. Type
  99.     TPictButton         = Object (TCtlMgr)
  100.         Procedure IPictButton    (itsSuperView:        TView;
  101.                                  itsLocation:        VPoint; 
  102.                                  itsSize:             VPoint;
  103.                                  itsHSizeDet:        SizeDeterminer; 
  104.                                  itsVSizeDet:        SizeDeterminer;
  105.                                  itsPicts:            Str255);    
  106.         Procedure IRes             (itsDocument:        TDocument;
  107.                                  itsSuperView:        TView;
  108.                              var itsParams:         Ptr);             Override;
  109.         Procedure WRes            (theResource:        ViewRsrcHndl;
  110.                              var itsParams:            Ptr);             Override;
  111.         Procedure WriteRes        (theResource:        ViewRsrcHndl;
  112.                              var itsParams:            Ptr);             Override;
  113.         Procedure Fields        (
  114.                     Procedure DoToField    (fieldName:        Str255;
  115.                                          fieldAddr:        Ptr;
  116.                                          fieldType:        integer)
  117.                                 );     Override;
  118.     End; {TPictButton}
  119.  
  120. Type
  121.     TPictCheckBox         = Object (TCtlMgr)
  122.         Procedure IPictCheckBox    (itsSuperView:         TView;
  123.                                  itsLocation:         VPoint; 
  124.                                  itsSize:             VPoint;
  125.                                  itsHSizeDet:         SizeDeterminer; 
  126.                                  itsVSizeDet:         SizeDeterminer;
  127.                                  itsPicts:            Str255;
  128.                                  isTurnedOn:         Boolean);    
  129.         Procedure IRes             (itsDocument:        TDocument;
  130.                                  itsSuperView:         TView;
  131.                              var itsParams:         Ptr);            Override;
  132.         Procedure WRes            (theResource:        ViewRsrcHndl;
  133.                              var itsParams:            Ptr);             Override;
  134.         Procedure WriteRes        (theResource:        ViewRsrcHndl;
  135.                              var itsParams:            Ptr);             Override;
  136.         Procedure DoChoice        (origView:            TView;
  137.                                  itsChoice:            integer);        Override;
  138.         Function  IsOn: Boolean;
  139.         Procedure SetState        (state:                Boolean;
  140.                                  redraw:            Boolean);
  141.         Procedure Toggle        (redraw:            Boolean);
  142.         Procedure ToggleIf        (matchState:        Boolean;
  143.                                  redraw:            Boolean);
  144.         Procedure Fields        (
  145.                     Procedure DoToField    (fieldName:        Str255;
  146.                                          fieldAddr:        Ptr;
  147.                                          fieldType:        integer)
  148.                                 );     Override;
  149.     End; {TPictCheckBox}
  150.  
  151. Type
  152.     TPictRadio             = Object (TCtlMgr)
  153.         Procedure IPictRadio    (itsSuperView:         TView;
  154.                                  itsLocation:         VPoint; 
  155.                                  itsSize:             VPoint;
  156.                                  itsHSizeDet:         SizeDeterminer; 
  157.                                  itsVSizeDet:         SizeDeterminer;
  158.                                  itsPicts:            Str255;
  159.                                  isTurnedOn:        Boolean);    
  160.         Procedure IRes             (itsDocument:        TDocument;
  161.                                  itsSuperView:         TView;
  162.                              var itsParams:         Ptr);             Override;
  163.         Procedure WRes            (theResource:        ViewRsrcHndl;
  164.                              var itsParams:            Ptr);             Override;
  165.         Procedure WriteRes        (theResource:        ViewRsrcHndl;
  166.                              var itsParams:            Ptr);             Override;
  167.         Procedure DoChoice        (origView:            TView;
  168.                                  itsChoice:            integer);        Override;
  169.         Function  IsOn: Boolean;
  170.         Procedure SetState        (state:                Boolean;
  171.                                  redraw:            Boolean);
  172.         Procedure Toggle        (redraw:            Boolean);
  173.         Procedure ToggleIf        (matchState:        Boolean;
  174.                                  redraw:            Boolean);
  175.         Procedure Fields        (
  176.                     Procedure DoToField    (fieldName:        Str255;
  177.                                          fieldAddr:        Ptr;
  178.                                          fieldType:        integer)
  179.                                 );     Override;
  180.     End; {TPictRadio}
  181.  
  182. Type
  183.     TMultiPict             = Object (TCtlMgr)
  184.         Procedure IMultiPict    (itsSuperView:         TView;
  185.                                  itsLocation:         VPoint; 
  186.                                  itsSize:             VPoint;
  187.                                  itsHSizeDet:         SizeDeterminer; 
  188.                                  itsVSizeDet:         SizeDeterminer;
  189.                                  itsPicts:             Str255;
  190.                                  curValue:            integer);    
  191.         Procedure IRes             (itsDocument:        TDocument;
  192.                                  itsSuperView:         TView;
  193.                              var itsParams:         Ptr);            Override;
  194.         Procedure WRes            (theResource:        ViewRsrcHndl;
  195.                              var itsParams:            Ptr);             Override;
  196.         Procedure WriteRes        (theResource:        ViewRsrcHndl;
  197.                              var itsParams:            Ptr);             Override;
  198.         Procedure DoChoice        (origView:            TView;
  199.                                  itsChoice:            integer);        Override;
  200.         Procedure Cycle            (redraw:            Boolean);
  201.         Procedure Fields        (
  202.                     Procedure DoToField    (fieldName:        Str255;
  203.                                          fieldAddr:        Ptr;
  204.                                          fieldType:        integer)
  205.                                 );     Override;
  206.     End; {TMultiPict}
  207.  
  208. Type
  209.     SliderTemplate        = Record
  210.         itsVariantCode:        integer;
  211.         itsPictureIDs:        Str255;
  212.     End;
  213.     SliderTPtr             = ^SliderTemplate;
  214.     
  215. Type
  216.     TSlider             = Object (TCtlMgr)
  217.         fDirection:            VHSelect;    { horizontal or vertical }
  218.  
  219.         Procedure ISlider        (itsSuperView:         TView;
  220.                                  itsLocation:         VPoint; 
  221.                                  itsSize:             VPoint;
  222.                                  itsHSizeDet:         SizeDeterminer; 
  223.                                  itsVSizeDet:         SizeDeterminer;
  224.                                  itsDirection:        VHSelect;
  225.                                  itsPicts:             Str255;
  226.                                  itsProcID:            integer;
  227.                                  itsVal:            Longint;
  228.                                  itsMin:            Longint;
  229.                                  itsMax:            Longint);    
  230.         Procedure IRes             (itsDocument:        TDocument;
  231.                                  itsSuperView:         TView;
  232.                              var itsParams:         Ptr);                 Override;
  233.         Procedure WRes            (theResource:        ViewRsrcHndl;
  234.                              var itsParams:            Ptr);                 Override;
  235.         Procedure WriteRes        (theResource:        ViewRsrcHndl;
  236.                              var itsParams:            Ptr);                 Override;
  237.         Procedure DeltaValue    (delta:                VCoordinate);
  238.         Function DoMouseCommand (var theMouse:        Point;
  239.                                  var info:            EventInfo;
  240.                                  var hysteresis:    Point): TCommand;    Override;
  241.         Procedure TrackSlider    (partCode:            integer);
  242.         Procedure ActionProc    (partCode:            integer);
  243.         Procedure Fields        (
  244.                     Procedure DoToField    (fieldName:        Str255;
  245.                                          fieldAddr:        Ptr;
  246.                                          fieldType:        integer)
  247.                                 );     Override;
  248.     End; {TSlider}
  249.  
  250. Type
  251.     CustomControlTemplate    = Record
  252.         itsCntlID:                integer;
  253.     End;
  254.     CustomControlTPtr        = ^CustomControlTemplate;
  255.     
  256. Type
  257.     TCustomCntl             = Object (TCtlMgr)
  258.         fCntlID:            integer;
  259.  
  260.         Procedure ICustom        (itsSuperView:         TView;
  261.                                  itsLocation:         VPoint; 
  262.                                  itsSize:             VPoint;
  263.                                  itsHSizeDet:         SizeDeterminer; 
  264.                                  itsVSizeDet:         SizeDeterminer;
  265.                                  itsTitle:            Str255;
  266.                                  itsCntlID:         integer);    
  267.         Procedure IRes             (itsDocument:        TDocument;
  268.                                  itsSuperView:         TView;
  269.                              var itsParams:         Ptr);             Override;
  270.         Procedure WRes            (theResource:        ViewRsrcHndl;
  271.                              var itsParams:            Ptr);             Override;
  272.         Procedure WriteRes        (theResource:        ViewRsrcHndl;
  273.                              var itsParams:            Ptr);             Override;
  274.         Procedure Fields        (
  275.                     Procedure DoToField    (fieldName:        Str255;
  276.                                          fieldAddr:        Ptr;
  277.                                          fieldType:        integer)
  278.                                 );     Override;
  279.     End; {TCustomCntl}
  280.  
  281. {----------}
  282. Implementation
  283.  
  284. {$I UAMLibraryM.inc.p}
  285.  
  286. End. {UAMLibraryM.p}
  287.